package clases;

import java.sql.ResultSet;
import java.util.ArrayList;

import javax.swing.JOptionPane;

public class Ocupaciones_class extends Conexion{

	
	private String codigo;
	private String nombre;
	private Double valorhora;
	private String query;
	private ArrayList<String> parametros;
	
	public Ocupaciones_class(){}
	
	public Ocupaciones_class(String codigo)
	{
		this.codigo=codigo;
	}
	public Ocupaciones_class(String codigo, String nombre)
	{
		this.codigo=codigo;
		this.nombre=nombre;
	}
	
	public Ocupaciones_class(String codigo, String nombre, Double valorhora)
	{
		this.codigo=codigo;
		this.nombre=nombre;
		this.valorhora=valorhora;
	}
	
	public void nuevo()
	{
		try
		{
			ResultSet resultado = mostrar("SELECT codigoocupacion FROM ocupaciones ORDER BY codigoocupacion DESC");
			if(resultado.next())
			{
				this.codigo = "OC"+String.valueOf(Integer.parseInt(resultado.getString("codigoocupacion").substring(2))+1);
			}
			else
			{
				this.codigo = "OC10000000";
			}
			query = "INSERT INTO ocupaciones VALUES (?,?,?)";
			parametros = new ArrayList<String>();
			parametros.add(codigo);
			parametros.add(nombre);
			parametros.add(String.valueOf(valorhora));
			sentenciaConnection(query, parametros);
		}catch(Exception ex)
		{
			JOptionPane.showMessageDialog(null, ex.toString());
		}
	}
	
	public void modificar()
	{
		query = "UPDATE ocupaciones SET nombre=?, valorhora=? WHERE codigoocupacion=?";
		parametros = new ArrayList<String>();
		parametros.add(nombre);
		parametros.add(String.valueOf(valorhora));
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public void eliminar()
	{
		query = "DELETE FROM ocupaciones WHERE codigoocupacion=?";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public ResultSet buscar()
	{
		query = "SELECT * FROM ocupaciones WHERE nombre LIKE ?";
		parametros =  new ArrayList<String>();
		parametros.add("%"+this.nombre+"%");
		return mostrar(query, parametros);
	}
	
	public ResultSet mostrar()
	{
		if(this.codigo!=null && this.codigo!=""){
			query = "SELECT * FROM ocupaciones WHERE codigoocupacion='"+this.codigo+"'";
		}
		else
		{
			query = "SELECT * FROM ocupaciones";
		}
		return consultaConnection(query);
	}
	
	public ResultSet mostrar(String queryref)
	{
		return consultaConnection(queryref);
	}
	
	public ResultSet mostrar(String queryref, ArrayList<String> parametrosref)
	{
		return consultaConnection(queryref, parametrosref);
	}
	
}
